Team
Admins, managers, editors, bloggers, SEO and analytics roles. The owner account is private — only the owner can see or change it.
Roles here describe responsibilities. Login accounts are created separately in Supabase → Authentication → Users.
Search Engine Optimization
Checks every public page against what Google and Bing look for, keeps the sitemap fresh, and walks you through submitting the site.
- Open Google Search Console, add the property nuhlis.com and verify it.
- In Search Console → Sitemaps, submit https://nuhlis.com/sitemap.xml. Google re-crawls it on its own schedule.
- Open Bing Webmaster Tools and use "Import from Google Search Console" — one click covers Bing, DuckDuckGo and Yahoo.
- After each content push: run the audit, regenerate the sitemap, redeploy. Rankings build over weeks, not days.
Meta editor — per page, both languages
Analytics
Site counters shown on the homepage, plus activity from the site.
Security
Your account and access rules.
- Public visitors: read-only on published content
- Contact form: insert-only, no reading back
- All editing requires a signed-in staff account
- Row Level Security enforced in the database
- Signed in as {{ userEmail }}
Blog
Bilingual posts — drafts stay hidden until published.
{{ postFormTitle }}
Comments
Courses
Year-round online STEM classes shown on the STEM page. Edit, publish or unpublish — the site updates on next load. (Run db/08-courses.sql first.)
Media library
Every image, GIF and video you have uploaded or used — across blog posts, courses and content. Copy a URL and paste it anywhere (course image, blog body, content block).
Course registrations
Everyone who booked a course spot. Free reservations must be approved here; paid bookings get Mark paid once the payment is through. Letters & reminders (incl. the Zoom link) go only to approved or paid registrants. (Run db/09-registrations.sql first.)
Letters & reminders
Write the acknowledgement, reminder or Zoom-link letter per course, save it, then send it to every registrant of that course in one click (opens your email app with all addresses in BCC).
Content
Copy blocks used across the site, per language. Add a key, and I can wire it to any element.
Audience
Messages from the contact form and newsletter subscribers.